home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / a86b.arc / LIST.DOC < prev    next >
Text File  |  1986-06-22  |  4KB  |  67 lines

  1. ---LIST.DOC---
  2.  
  3. Listings with A86
  4.  
  5. A86 does not produce a .LST file, or anything similar to it!  (We now pause,
  6. to allow traditionalists to recover from their swooning shock.)   OK,
  7. everybody back to consciousness?  Good.  Now let's all try to strip away our
  8. preconceptions, and look at things with a fresh viewpoint.
  9.  
  10. In particular, let's consider what we use a listing file for, and see how A86
  11. meets those needs.  I've been programming for 20 years; I have generated
  12. literally tons of listings. Historically, here's what I have used listings for:
  13.  
  14. 1. To find out what my error messages are.  In the early days of Intel, the
  15.    text editor was so bad that it was actually faster to march across the
  16.    building and physically print the list file, than it was to use an editor
  17.    to find error messages!  But even with a fast editor, what a pain it is to go
  18.    into the list file, enduring its 120-column wide format on your 80-column
  19.    screen, copy down the errors on paper, then go back to the source file
  20.    to find where the errors were.  Why doesn't the assembler just stick the
  21.    messages directly into your source file, where you can view them and
  22.    edit the source simultaneously?  That's what A86, and only A86, does.
  23.  
  24. 2. To see what code was generated; those hexadecimal bytes at the left of
  25.    the listing.  That was a real necessity, back in the days of hexadecimal
  26.    debuggers.  There we were, furiously patching those hex object bytes.
  27.    We needed the listings to find our way around the program, while debugging.
  28.    Today, we have symbolic, disassembling debuggers.  (Well, at least I have
  29.    a symbolic, disassembling debugger.  The rest of you will have it too,
  30.    by August, 1986).  The power of today's debuggers means that you seldom
  31.    need to look at hex bytes.  If you do, the debugger can show them to you.
  32.  
  33. 3. To get a symbol-table listing.  The necessity of this diminishes a great
  34.    deal when you have a SYMBOLIC debugger; but I still like to have a listing
  35.    from time to time.  So I have devised a separate program, XREF, that goes
  36.    through another pass of the source file, and creates the world's finest
  37.    cross-reference listing for assemblers.
  38.  
  39.    You may ask, "Why am I being forced to essentially re-assemble my code to
  40.    get a symbol table, when other assemblers will give it to me in the original
  41.    assembly?"  Don't be fooled.  Those other assemblers go through all your
  42.    source files twice, or even three times.  They just do it behind your back,
  43.    every time you want an assembly.  That's one reason why my assembler is so
  44.    much faster than everyone else's.
  45.  
  46. 4. To just look at the code.  I have often in the past needed to see that
  47.    program, spread out on paper, just to get a handle on what the program is
  48.    doing.  But I have needed this less and less lately.  Why?  For two
  49.    reasons.  First, text editors have improved.  It's much, much easier than
  50.    it was before to cruise through a file on the screen.  Second, my programs
  51.    have adapted to the screen-viewing methodology.  Almost subconsciously, I
  52.    have started making the conceptual "chunks" of my code fit into 1 or 2
  53.    24-line screens, rather than 1 or 2 60-line pages.  This, of course, makes
  54.    better, more modular programs.  (Spaghetti tends to untangle when you chop
  55.    it up.)  It's gotten to the point where I can develop a 5000-line
  56.    application, fully debugged, without ever making a listing!
  57.  
  58. 5. For archival purposes.  I still do this; you should never put 100% trust in
  59.    magnetic media.  But I've stripped away the reasons for having anything but
  60.    the source code and the symbol table.  So I just copy the source files and
  61.    the cross-reference listing to the printer.  I haven't looked at the listings
  62.    too much; so I haven't bothered with pagination control.  If you want to,
  63.    you can insert form-feeds into your source; A86 will ignore them.  Or, you
  64.    can write a simple listing-tool that recognizes the PAGE directive; A86
  65.    ignores that directive, also.
  66.  
  67.